<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1">
<link href="http://orfeo.superservicios.gov.co:81/~cmauricio/comisiones/css/orfeo.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../js/formchek.js"></script>
</head>
<body>-->
<?php
	include ("../_conf/constantes.php");
	include (COMISIONPATH . "config.php");
	include (ORFEOPATH . "config.php");
	include_once (ORFEOPATH . "include/db/ConnectionHandler.php");
	require_once (PEARPATH . "HTML/Template/IT.php");
	include ("./arregloPosExcel.php");
	include ("./obtenerDatosPPR.php");
		
	$radicar 	= true;	// Variable que controla la radicacion de la comision en Orfeo
	$usuaLogin      = (!empty($_POST["usuaLogin"])) ? $_POST["usuaLogin"] : $_GET["usuaLogin"];
	$sessionId      = (!empty($_POST["PHPSESSID"])) ? $_POST["PHPSESSID"] : null;
	$tpl 		= new HTML_Template_IT(TPLPATH);
	$conn 		= ADONewConnection($dsnComisiones);
	$connOrfeo 	= new ConnectionHandler(ORFEOPATH);	// Conexion al aplicativo Orfeo
	//$conn->debug	= true;
	$conn->SetFetchMode(ADODB_FETCH_ASSOC);
	$connOrfeo->conn->SetFetchMode(ADODB_FETCH_ASSOC);
	
	$tpl->loadTemplatefile("resultadoCargaComisiones.htm");
	$tpl->setVariable("TITULO_PAGINA", "Resultado de la Carga Masiva");
	
	// Consulta para obetner el documento del usuario para radicacion
	$usuaDoc 	= 0;
	$sqlUsuario 	= "SELECT USUA_DOC FROM USUARIO WHERE USUA_LOGIN = '$usuaLogin'";
	$rsUsuario 	= $connOrfeo->conn->Execute($sqlUsuario);
	
	// Obteniedo documento del usuario
	if (!$rsUsuario->EOF) {
		$usuaDoc = $rsUsuario->fields["USUA_DOC"];
		$rsUsuario->Close();
	} else {
		var_dump("Error de acceso. El usuario no corresponde con los datos enviados");
		exit();
	}
	
	$delimitador	= ";";
	$idDependencia 	= $_POST["iddependencia"];
	$idVigencia 	= $_POST["idvigencia"];
	$nombreArchivoCsv = $_POST["nombreArchivoCsv"];
	$archivoExec 	= "./cargarDatos.php";
	$horaSalida 	= "";
	$horaRegreso 	= "";
	$segDia 	= 86400;// numero de segundo que contiene un dia para realizar conversion
	$facComision 	= 0.5;	// factor que se le suma al numero de dias de comision
	$row 		= 1;
	$copio 		= true;
	$delimitador 	= ";";
	
	// Arreglo de cargue
	$arregloReem   = array();
	$arregloReem[] = "COMISION";		// Campo que dice si la comisiob es nueva o no
	$arregloReem[] = "FECHA_SALIDA";	// Fecha de salida del funcionario
	$arregloReem[] = "FECHA_REGRESO";	// Fecha de regreso del funcionario
	$arregloReem[] = "NOMBRES";		// Nombres completos de la persona
	$arregloReem[] = "APELLIDO1";		// Primer apellido de la persona
	$arregloReem[] = "APELLIDO2";		// Segundo apellido de la persona
	$arregloReem[] = "DOC_IDENTIDAD";	// Documento de identidad
	$arregloReem[] = "CONTRATO";		// Numero del contrato del funcionario o contratista
	$arregloReem[] = "EXPEDIENTE";		// Numero del expediente del funcionario o contratista
	$arregloReem[] = "OBJ_COMISION";	// Objeto de la comision
	$arregloReem[] = "DESTINO";		// Ciudad de destino
	$arregloReem[] = "ENTIDAD_DESTINO";
	$arregloReem[] = "EVENTO";		// Nombre del Evento
	$arregloReem[] = "OTRO_ORG";		// Organismos que invita al funcionario
	$arregloReem[] = "PROYECTO";		// Nombre del Proyecto
	$arregloReem[] = "PROCESO";		// Nombre del Proceso
	$arregloReem[] = "RUBRO_PRES";		// Rubro presupuestal
	$arregloReem[] = "HORA_SALIDA";		// Hora de salida del vuelo
	$arregloReem[] = "HORA_REGRESO";	// Hora de regreso del vuelo
	$arregloReem[] = "VALOR_A";		// Valor de la ruta aerea
	$arregloReem[] = "RUTA_T";		// Municipios de la ruta terrestre
	$arregloReem[] = "VALOR_T";		// Valor de la ruta terrestre
	$arregloReem[] = "RUTA_M";		// Sitios por donde pasa la ruta maritima
	$arregloReem[] = "VALOR_M";		// Valor de la ruta maritima
	
	$arregloInv = array_flip($arregloReem);
	//$arregloReem[] = "ID_COMISION";
	//$arregloReem[] = "ZONA";
	$num 		= count($arregloReem);
	$cont 		= 0;
	$estilos 	= array();
	$estilos[] 	= "listado1";
	$estilos[] 	= "listado2";
	$estadoComision = array();
	$estadoComision["solicitud"] 	= "'S'";
	$estadoComision["liquidacion"] 	= "'L'";
	$estadoComision["anulacion"] 	= "'A'";
	$estadoComision["generada"] 	= "'G'";
	$estadoComision["vobo"] 	= "'V'";
	$nombreArchivoCsv 	= "temporal.csv";
	$nombreArchivoPath 	= TMPPATH . $nombreArchivoCsv;
	
	// Exite el archivo
	if (!is_file($nombreArchivoPath)) {
		var_dump("Error en archivo de comision no se pudo cargar");
		exit();
	}
	
	$arregloComisiones = array();
	$handle = fopen($nombreArchivoPath, "r");
	
	// Recorriendo el archivo de cargue masivo
	while (($data = fgetcsv($handle, 1000, $delimitador)) !== FALSE) {
		$arregloComisiones[] = $data;
		$tpl->parse("row");
	}
	
	$comisionesIns[] = $arregloReem;
	$numElement 	= count($titulo);
	$filaAct 	= "";
	$filaAnt 	= 0;
	$cont 		= 0;
	if ($arregloComisiones[0][0] == "COMISION") {
		array_shift($arregloComisiones);
	}
	// Si hay por lo menos un elemento para cargar
	if(is_array($arregloComisiones)) {
		$diaActual = date('d');//Para verificar si la comision se solicito con menos de 5 dias.
		foreach ($arregloComisiones as $comision) {
			$filaAct = $comision[0];
			if ($filaAct == "*") {
				// Consulta para buscar la cedula del empleado
				$sqlEmpleado = "SELECT cedulaempleado,
							 nombres,
							 primerapellido,
							 segundoapellido,
							 login
						FROM empleado
						WHERE cedulaempleado = " .
						$comision[$arregloInv["DOC_IDENTIDAD"]];
				$rs = $conn->Execute($sqlEmpleado);
				if(!$rs->EOF) {
					if (!empty($comision[$arregloInv["FECHA_SALIDA"]]) &&
						!empty($comision[$arregloInv["FECHA_REGRESO"]]) &&
						!empty($comision[$arregloInv["OBJ_COMISION"]])) {
						$arreglofecha 	= explode("/",$comision[$arregloInv["FECHA_SALIDA"]]);
						for ($count = 0; $count<5; $count++){
							$diaTest = $diaActual + $count;
							if ($arreglofecha[0] == $diaTest) {
								$cedulaDestino = $rs->fields['cedulaempleado'];
								$nombreUsu = $rs->fields['nombres'];
								$primerApeUsu = $rs->fields['primerapellido'];
								$segundoApeUsu = $rs->fields['segundoapellido'];
								$loginUsu = $rs->fields['login'];
								$nombreCompletoUsu = $nombreUsu . ' ' . $primerApeUsu . ' ' . $segundoApeUsu;
								$emailDestino = 'nvelasquez@superservicios.gov.co';
								include(LIBPATH . 'mail/mailerJGL.php');
							}	
						}
						
						$fechainicio 	= mktime(0, 0, 0,
									intval($arreglofecha[1]),
									intval($arreglofecha[0]),
									$arreglofecha[2]);
						$fechaSalida 	= date("Y-m-d", $fechainicio);
						$arreglofecha 	= explode("/",$comision[$arregloInv["FECHA_REGRESO"]]);
						$fechafin 	= mktime(0, 0, 0,
									intval($arreglofecha[1]),
									intval($arreglofecha[0]),
									$arreglofecha[2]);
						$fechaRegreso = date("Y-m-d", $fechafin);
						$numUnixDias  = $fechafin - $fechainicio;
						$nDiasComision = $numUnixDias / $segDia;
						$fDiasComision = $nDiasComision + $facComision;
						$fieldvalues["objetocomision"] 	= "'" . $comision[$arregloInv["OBJ_COMISION"]] . "'";
						$fieldvalues["evento"] 		= "'" . $comision[$arregloInv["EVENTO"]] . "'";
						$fieldvalues["destino"] 	= "'" . $comision[$arregloInv["DESTINO"]] . "'";
						$fieldvalues["fechasal"] 	= "'" . $fechaSalida . "'";
						$fieldvalues["fechareg"]	= "'" . $fechaRegreso . "'";
						$fieldvalues["fechasolicitud"] 	= "'" . date("Y-m-d") . "'";
						$fieldvalues["entidaddestino"] 	= "'" . $comision[$arregloInv["ENTIDAD_DESTINO"]] . "'";
						/*$fieldvalues["proyecto"] 	= "'" . $comision[$arregloInv["PROYECTO"]] . "'";
						$fieldvalues["proceso"] 	= "'" . $comision[$arregloInv["PROCESO"]] . "'";
						$fieldvalues["otroorganismo"] 	= "'" . $comision[$arregloInv["OTRO_ORG"]] . "'";
						$fieldvalues["rubropres"] 	= "'" . $comision[$arregloInv["RUBRO_PRES"]] . "'";*/
						$fieldvalues["iddependencia"] 	= $idDependencia;
						$fieldvalues["estadocomision"] 	= $estadoComision["solicitud"];
						
						// Capturando el valor de la secuencia
						$fieldvalues["idcomision"] = $conn->nextId("seq_comision_idcomision");
						$insComision = $conn->Replace("comision",$fieldvalues,$autoquote = true);
						
						switch ($insComision) {
							case 1: // Si actualiza
								break;
							case 2: // Si inserto el registro
								$horaSalida = "'" . $comision[$arregloInv["HORA_SALIDA"]] . "'";
								$horaRegreso = "'" . $comision[$arregloInv["HORA_REGRESO"]] . "'";
								$idcomision = $fieldvalues["idcomision"];
								// Si inserto ahora inserta datos de la comision funcionario
								$comisionempleado["idcomision"]     = $idcomision;
								$comisionempleado["cedulaempleado"] = $comision[$arregloInv["DOC_IDENTIDAD"]];
								$comisionempleado["fechasal"] 	 = "'" . $fechaSalida . "'";
								$comisionempleado["fechareg"] 	 = "'" . $fechaRegreso . "'";
								$comisionempleado["horasalida"]  = $horaSalida;
								$comisionempleado["horaregreso"] = $horaRegreso;
								
								// asignando valor de la ruta maritima
								$valorRutaMa = (!empty($comision[$arregloInv["VALOR_M"]])) ?
											$comision[$arregloInv["VALOR_M"]] : null;
								
								$comisionempleado["idproyecto"]  = $comision[$arregloInv["PROYECTO"]];
								$comisionempleado["idproceso"] 	 = $comision[$arregloInv["PROCESO"]];
								$comisionempleado["idrubro"] 	 = $comision[$arregloInv["RUBRO_PRES"]];
								$comisionempleado["estadocomision"] = $estadoComision["solicitud"];
								$comisionempleado["diasliquidar"]   = $fDiasComision;
								$rsQuery = $conn->Replace("comisionempleado",$comisionempleado,$autoquote = true);
								switch ($rsQuery) {
									case 1: // Si actualiza
										break;
									case 2: // Si inserto el registro
										//echo "inserto";
										break;
									case 0: // Si falla el insert o update
								}
								$comision[$numElement-2] = $idcomision;
								$comisionesIns[] = $comision;
								break;
							case 0: // Si falla el insert
						}
					}
				} else {
					echo "El empleado de la comision no se encuentra registrado o no le corresponde el numero de cedula";
					var_dump("Cancelada carga de comision");
					exit();
				}
			} else {
				$sqlEmpleado = "SELECT cedulaempleado
						FROM empleado
						WHERE cedulaempleado = " . $comision[$arregloInv["DOC_IDENTIDAD"]];
				$rs = $conn->Execute($sqlEmpleado);
				if (!$rs->EOF) {
					$arreglofecha = explode("/",$comision[$arregloInv["FECHA_SALIDA"]]);
					if (!empty($arreglofecha[0])) {
						$fechainicio 	= mktime(0, 0, 0,
									intval($arreglofecha[1]),
									intval($arreglofecha[0]),
									intval($arreglofecha[2]));
					}
					
					$arreglofecha = explode("/",$comision[$arregloInv["FECHA_REGRESO"]]);
					if (!empty($arreglofecha[0])) {
						$fechafin = mktime(0, 0, 0,
									intval($arreglofecha[1]),
									intval($arreglofecha[0]),
									intval($arreglofecha[2]));
					}
					$numUnixDias = $fechafin - $fechainicio;
					
					$nDiasComision = (int) ($numUnixDias / $segDia);
					$fDiasComision = $nDiasComision + $facComision;
					$comisionempleado["idcomision"] 	= $idcomision;
					$comisionempleado["cedulaempleado"] 	= $comision[$arregloInv["DOC_IDENTIDAD"]];
					$comisionempleado["fechasal"] 		= "'" . $fechaSalida . "'";
					$comisionempleado["fechareg"] 	 	= "'" . $fechaRegreso . "'";
					$comisionempleado["horasalida"] 	= (!empty($comision[$arregloInv["HORA_SALIDA"]])) ?
										"'" . $comision[$arregloInv["HORA_SALIDA"]] . "'" :
										$horaSalida;
					$comisionempleado["horaregreso"] 	= (!empty($comision[$arregloInv["HORA_REGRESO"]])) ?
										"'" . $comision[$arregloInv["HORA_REGRESO"]] . "'" :
										$horaRegreso;
					$comisionempleado["idproyecto"]  	= $comision[$arregloInv["PROYECTO"]];
					$comisionempleado["idproceso"] 	 	= $comision[$arregloInv["PROCESO"]];
					$comisionempleado["idrubro"] 	 	= $comision[$arregloInv["RUBRO_PRES"]];
					$comisionempleado["estadocomision"] 	= $estadoComision["solicitud"];
					$comisionempleado["diasliquidar"] 	= $fDiasComision;
					$rsQuery = $conn->Replace("comisionempleado",$comisionempleado,$autoquote = true);
					switch ($rsQuery) {
						case 1: // Si actualiza
							break;
						case 2: // Si inserto el registro
							//echo "inserto funcionario a comsicion";
							$comision[$numElement-2] = $idcomision;
							$comisionesIns[] = $comision;
							break;
						case 0: // Si falla el insert o update
					}
				}
			}
		}
	}
	
	$filename = $nombreArchivoCsv;
	$fp = fopen(TMPPATH . $filename, 'w');
	
	foreach ($comisionesIns as $comisionGrabar) {
		fputcsv($fp,$comisionGrabar,$delimitador);
	}
	
	$generoCsv = fclose($fp);
	
	// Se utiliza para pruebas
	if ($radicar) {
		include ('./radicarSolicitudComision.php');
	}
	
	if(!empty($noRad)) {
		$file = TMPPATH . $filename;
		$newfile = BODEGAORFEO .
				substr($noRad, 0, 4) . "/" .
				substr($noRad, 4, 3) . "/" .
				$noRad . ".csv";
		if (!copy($file, $newfile)) {
			echo "error al copiar el archivo $newfile";
		}
	}
	
	$tpl->setVariable("NUM_RADICADO",$noRad);
	$tpl->setVariable("CSSURL",URLCSS);
	$tpl->show();
	//include("./webServices/cliente.php");*/
?>
<table>
	<tr>
	<td colspan="2" class="titulos4" height="35" align="center">SE HA GENERADO UN REQUERIMIENTO DE COMISION RADICADO EN ORFEO</td>
	</tr>
	<tr>
	<td class="titulosError">El numero de radicado es el : <b><?=$noRad?></b></td>
	</tr>
	<tr>
	<td class="listado1"><a href="http://orfeo.superservicios.gov.co:81/~nvelasquez/orfeo_3.6.0/comisiones/index.php?krd=<?=$usuaLogin?>">Volver Men&uacute; Principal</a></b></td>
	</tr>
</table>
</body>
</html>
